home *** CD-ROM | disk | FTP | other *** search
/ Aminet 41 / Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso / Aminet / util / sys / InstallerNG.lha / InstallerNG / developer / include / libraries / installergui.h next >
C/C++ Source or Header  |  2000-10-28  |  10KB  |  245 lines

  1.  
  2. #ifndef LIBRARIES_INSTALLERGUI_H
  3. #define LIBRARIES_INSTALLERGUI_H
  4.  
  5. #include <exec/types.h>
  6.  
  7. /*
  8. **  $VER: installergui.h 40.1 (28.10.2000)
  9. **  (C) by Jens Tröger
  10. **
  11. */
  12.  
  13. // a parameter (which is one of several elements of
  14. // the FunctionEnvironment) consists of both, a value
  15. // and its type
  16. struct Parameter
  17. {
  18.   ULONG pa_Value;
  19.   UWORD pa_Type;    // PRIVATE
  20. };
  21.  
  22. // this is the local function-environment which some
  23. // functions (e.g. igui_AskBool as gui implementation
  24. // for ASKBOOL) get as an argument; you may read/write
  25. // from/to this structure whenever needed; the entries
  26. // are named like the related functions (i.e. that
  27. // fe_Prompt holds the related PROMPT value and so on)
  28. struct FunctionEnvironment
  29. {
  30.   APTR             fe_PRIVATE;  // do not touch
  31.   struct Parameter fe_All;
  32.   struct Parameter fe_Append;
  33.   struct Parameter fe_Assigns;
  34.   struct Parameter fe_Back;
  35.   struct List      fe_Choices;
  36.   struct List      fe_Command;
  37.   struct Parameter fe_Confirm;
  38.   struct Parameter fe_Default;
  39.   struct Parameter fe_Dest;
  40.   struct Parameter fe_Disk;
  41.   struct Parameter fe_Files;
  42.   struct Parameter fe_Fonts;
  43.   struct Parameter fe_GetDefaultTool;
  44.   long             fe_GetPosition[2];
  45.   struct Parameter fe_GetStack;
  46.   struct List      fe_GetTooltype;
  47.   struct Parameter fe_Help;
  48.   struct Parameter fe_Include;
  49.   struct Parameter fe_Infos;
  50.   struct Parameter fe_NewName;
  51.   struct Parameter fe_NewPath;
  52.   struct Parameter fe_NoGauge;
  53.   struct Parameter fe_NoPosition;
  54.   struct Parameter fe_NoReq;
  55.   struct Parameter fe_Pattern;
  56.   struct Parameter fe_Prompt;
  57.   struct Parameter fe_Quiet;
  58.   struct Parameter fe_RangeSet;
  59.   long             fe_Range[2];
  60.   struct Parameter fe_Resident;
  61.   struct Parameter fe_Safe;
  62.   struct Parameter fe_SetDefaultTool;
  63.   struct Parameter fe_SetPositionSet;
  64.   long             fe_SetPosition[2];
  65.   struct Parameter fe_SetStack;
  66.   struct List      fe_SetTooltype;
  67.   struct Parameter fe_Source;
  68.   struct Parameter fe_Swapcolors;
  69.   struct Parameter fe_Optional_AskUser;
  70.   struct Parameter fe_Optional_Fail;
  71.   struct Parameter fe_Optional_NoFail;
  72.   struct Parameter fe_Optional_Force;
  73.   struct Parameter fe_Optional_OkNoDelete;
  74. };
  75.  
  76. /******************************************************************************/
  77.  
  78. // thist structure is special for the igui_CopylibConfirm function
  79. // and specifies tha both argument structures for each, the source
  80. // and destination file
  81.  
  82. struct iguicl_FileSpec
  83. {
  84.   BOOL             ifs_Exists;   // TRUE, if the file exists, FALSE otherwise
  85.   char            *ifs_FileName; // the filename
  86.   long             ifs_Version;  // version
  87.   long             ifs_Revision; // revision
  88.   long             ifs_FileSize; // size of the file in bytes
  89.   struct DateStamp ifs_Date;     // the date
  90. };
  91.  
  92. /******************************************************************************/
  93.  
  94. // these are values used by the gui; some functions may get
  95. // it as arguments and some functions have to return them!
  96. // see the example source for more information
  97.  
  98. #define USER_NOVICE                      0
  99. #define USER_AVERAGE                     1
  100. #define USER_EXPERT                      2
  101.  
  102. #define LOG_NOLOG                        0
  103. #define LOG_FILE                         1
  104. #define LOG_PRINTER                      2
  105. #define LOG_CONSOLE                      3
  106.  
  107. #define INSTALL_FOR_REAL                 0
  108. #define INSTALL_PRETEND                  1
  109.  
  110. #define GUIEVENT_NOTHING                 0
  111. #define GUIEVENT_PROCEED                 1
  112. #define GUIEVENT_ABORT                   2
  113. #define GUIEVENT_QUIT                    3
  114. #define GUIEVENT_BACK                    4
  115. #define GUIEVENT_PRIVATE                 5
  116. #define GUIEVENT_DROPPED                 6
  117.  
  118. #define GUIERROR_NOERROR                 0
  119. #define GUIERROR_OUT_OF_MEMORY           1
  120. #define GUIERROR_NO_GUI_OBJECT           2
  121.  
  122. #define GUI_QUERYOBJ_SCREEN              0
  123. #define GUI_QUERYOBJ_WINDOW              1
  124.  
  125. #define GUI_QUERYATTR_WIDTH              0
  126. #define GUI_QUERYATTR_HEIGHT             1
  127. #define GUI_QUERYATTR_DEPTH              2
  128. #define GUI_QUERYATTR_COLORS             3
  129. #define GUI_QUERYATTR_UPPER              4
  130. #define GUI_QUERYATTR_LOWER              5
  131. #define GUI_QUERYATTR_LEFT               6
  132. #define GUI_QUERYATTR_RIGHT              7
  133.  
  134. #define GUI_EFFECT_POS_NOPOS             0xFF
  135. #define GUI_EFFECT_POS_UPPERLEFT         0x00
  136. #define GUI_EFFECT_POS_UPPERCENTER       0x01
  137. #define GUI_EFFECT_POS_UPPERRIGHT        0x02
  138. #define GUI_EFFECT_POS_CENTERLEFT        0x10
  139. #define GUI_EFFECT_POS_CENTERCENTER      0x11
  140. #define GUI_EFFECT_POS_CENTERRIGHT       0x12
  141. #define GUI_EFFECT_POS_LOWERLEFT         0x20
  142. #define GUI_EFFECT_POS_LOWERCENTER       0x21
  143. #define GUI_EFFECT_POS_LOWERRIGHT        0x22
  144.  
  145. #define GUI_EFFECT_EFFECT_NONE           GUI_EFFECT_EFFECT_HORIZONTAL
  146. #define GUI_EFFECT_EFFECT_HORIZONTAL     0
  147. #define GUI_EFFECT_EFFECT_RADIAL         1
  148. #define GUI_EFFECT_EFFECT_FADE           2
  149.  
  150. #define GUI_EFFECT_SIZE_NONE             0xFF
  151. #define GUI_EFFECT_SIZE_SMALL            0x00
  152. #define GUI_EFFECT_SIZE_SMALLMEDIUM      0x01
  153. #define GUI_EFFECT_SIZE_SMALLLARGE       0x02
  154. #define GUI_EFFECT_SIZE_MEDIUMSMALL      0x10
  155. #define GUI_EFFECT_SIZE_MEDIUM           0x11
  156. #define GUI_EFFECT_SIZE_MEDIUMLARGE      0x12
  157. #define GUI_EFFECT_SIZE_LARGESMALL       0x20
  158. #define GUI_EFFECT_SIZE_LARGEMEDIUM      0x21
  159. #define GUI_EFFECT_SIZE_LARGE            0x22
  160.  
  161. /******************************************************************************/
  162.  
  163. // since the global environment and the texts simply come as
  164. // an array, you must use these values to access the elements
  165. // of theses arrays.
  166.  
  167. // offsets for the global environment; you may read/write from/to this
  168. // array if needed
  169. enum { GENV_SCRIPT = 0, GENV_APPNAME, GENV_LANGUAGE, GENV_ABORT_BUTTON, GENV_PROCEED_BUTTON,
  170.        GENV_USER, GENV_LOG, GENV_LOGFILENAME, GENV_LOGHANDLE, GENV_DONTDELFROMSYSDIRS,
  171.        GENV_INSTALL, GENV_WELCOME, GENV_INSTALLER_VERSION, GENV_QUIET_EXIT, GENV_STARTUP,
  172.        GENV_LAZYCOMPILE, GENV_DEBUGMODE, GENV_UNINSTALL, GENV_PACKAGE_COMMENT,
  173.        GENV_ALWAYSCONFIRM, GENV_ALLOW_PRINT, GENV_ALLOW_PRETEND, GENV_ALLOW_LOG, GENV_MINUSER,
  174.        GENV_DEFUSER };
  175.  
  176. // offsets for the text array; you must not write to this array, just read
  177. // the values; all texts are already localized
  178. enum { START_NOSCRIPT = 0, START_BUTTONS,
  179.  
  180.        WELCOME, OK, ABOUT, INTERESTING, THANX, BYE, COMPLETE, WORKING, BUILTINGUI,
  181.        YES, NO, MKDIR_INFO, MKDIR_ASKNAME, MKDIR_PROMPT,
  182.        ASKNUM_RANGE, REALLY_QUIT, YES_NO, IGNORE_PROTOCOL_QUIT, IGNORE_QUIT, ERROR,
  183.        MUST_INSERT_DISK, FAILED_OPEN_LOG, EMPTY, COPYLIB_PATTERN, COPYLIB_VERSION,
  184.        COPYLIB_NOVERSION, SOURCEFILE, DESTFILE, DESTDIR, UNPROTECT_DEST, BACK,
  185.        ABORTHEADER,
  186.  
  187.        HELP_INTRO1, HELP_INTRO2, HELP_ASKBOOL, HELP_ASKOPTIONS, HELP_ASKCHOICE, HELP_ASKNUMBER,
  188.        HELP_ASKSTRING, HELP_ASKDISK, HELP_ASKFILE, HELP_ASKDIR, HELP_COPYLIB, HELP_COPYFILES,
  189.        HELP_MAKEDIR, HELP_STARTUP,
  190.  
  191.        GUIERR,
  192.  
  193.        INTRO1_WELCOME, INTRO1_MODE, INTRO1_NOVICE, INTRO1_AVERAGE, INTRO1_EXPERT,
  194.  
  195.        INTRO2_OPTS, INTRO2_REAL, INTRO2_PRETEND, INTRO2_LOG, INTRO2_PRINTER, INTRO2_FILE,
  196.        INTRO2_CONSOLE, INTRO2_NONE, INTRO2_ADVANCED, INTRO2_DEBUG, INTRO2_NOSTARTUPSEQUENCE, INTRO2_UNINSTALL,
  197.        INTRO2_DONTDELFROMSYSDIRS, INTRO2_PACKAGE_COMMENT, INTRO2_ALWAYSCONFIRM,
  198.  
  199.        BUTTON_PROCEED_INSTALL, BUTTON_ABORT, BUTTON_ABOUT, BUTTON_HELP, BUTTON_PARENT,
  200.        BUTTON_DRIVES, BUTTON_MKDIR, BUTTON_SKIP, BUTTON_CANCEL, BUTTON_QUIT, BUTTON_NEXTPAGE,
  201.        BUTTON_PREVPAGE, BUTTON_BACK, BUTTON_FINISH,
  202.  
  203.        SPERR_TEMPLATE, SPERR_SYNTAX_ERROR, SPERR_PARSE_STACK_OVERFLOW, SPERR_PARSE_STACK_UNDERFLOW,
  204.        SPERR_STILL_SOURCE_LEFT, SPERR_UNKNOWN_SYMBOL, SPERR_UNKNOWN_ERROR, SPERR_STACK_CORRUPT,
  205.        SPERR_OUT_OF_MEMORY, SPERR_UNKNOWN_SCANNER_ERR, SPERR_UNTERMINATED_STRING,
  206.        SPERR_NUMBER_TOO_LONG,
  207.  
  208.        SYNERR_LPAREN_EXPECTED, SYNERR_RPAREN_EXPECTED, SYNERR_LPAREN_OR_FUNCTION_EXPECTED,
  209.        SYNERR_FUNCTION_NOT_ALLOWED, SYNERR_UNEXPECTED_END, SYNERR_MISSING_EXPR,
  210.        SYNERR_FUNCTIONAL_EXPR_NEEDED,
  211.  
  212.        IERR_TEMPLATE, IERR_UNKNOWN,
  213.        IERR_DIV_ZERO, IERR_UNIMPLEMENTED, IERR_NOT_INIT, IERR_IDENT_EXPECTED,
  214.        IERR_OUT_OF_RANGE, IERR_TYPE_CONFLICT, IERR_NUMBER_TOO_LONG, IERR_UNKNOWN_USER_FUN,
  215.        IERR_STACK_FULL, IERR_STR_FORMAT_ERR, IERR_MISSING_ARG,
  216.        IERR_TOO_MANY_ARGS, IERR_MISSING_PARAM_FUN, IERR_BAD_SOURCE, IERR_NEED_STRING_TYPE,
  217.        IERR_NEED_NUM_TYPE, IERR_NEED_PARAM_TYPE, IERR_ERROR_IN_SCRIPT, IERR_BAD_PARAMETER_DATA,
  218.        IERR_NO_REXX_SERVER,  IERR_BAD_SYMBOL_PROPERTY, IERR_CONSTANT_MODIFICATION,
  219.  
  220.        TERR_TEMPLATE, TERR_ARG_NUM, TERR_PARAM_OUTSIDE, TERR_CANNOT_NEST, TERR_MUST_BE_IDENT,
  221.        TERR_UNINIT_IDENT, TERR_UNKNOWN, TERR_MISSING_PARAM, TERR_WRONG_PARAM, TERR_UNDEF_USERFUN,
  222.        TERR_USELESS_EXPR,
  223.  
  224.        MENU_PROJECT, MENU_ABOUT, MENU_ABOUTGUI, MENU_ICONIFY, MENU_QUIT,
  225.  
  226.        CONFIRM_COPYFILES, CONFIRM_COPYLIB, CONFIRM_DELETE, CONFIRM_EXECUTE, CONFIRM_ICONINFO,
  227.        CONFIRM_MAKEDIR, CONFIRM_RENAME, CONFIRM_REXX, CONFIRM_RUN, CONFIRM_STARTUP,
  228.        CONFIRM_TEXTFILE, CONFIRM_TOOLTYPE, CONFIRM_OPENWBOBJECT,
  229.  
  230.        LOG_HEADER, LOG_MAKEDIR,
  231.        LOG_COPYFILE, LOG_COPYDIR, LOG_ASKCHOICE, LOG_ASKOPTIONS_NONE, LOG_ASKOPTIONS_OPTS,
  232.        LOG_ASKSTRING, LOG_ASKNUMBER, LOG_ASKBOOL, LOG_ASKDIR, LOG_ASKFILE,
  233.        LOG_DEFAULTDEST, LOG_DONTKNOW, LOG_TEXTFILE_START, LOG_TEXTFILE_END, LOG_EXECUTE, LOG_RUN,
  234.        LOG_REXX, LOG_RENAME, LOG_DELETE, LOG_ABORT, LOG_EXIT, LOG_STARTUP_START,
  235.        LOG_STARTUP_END,
  236.  
  237.        BREAK_INTERPRETATION_GADS, BREAK_INTERPRETATION
  238.  
  239.      };
  240.  
  241. #endif
  242.  
  243.  
  244.  
  245.